\chapter{Problem Description}
\labelchapter{problem_description}
%-----------------------
\beginchapter
%-----------------------

\section{Current State}
Most of the available diagramming tools depend heavily on the users' interaction using pointing devices. The use of such pointing devices might be hard if not impossible for people having some disabilities. Some of the existing diagramming tools provide some accessibility tools that allow the user to use the tool without having to use a pointing device, but in most tools such accessibility is either absent or poorly developed. Thus, making the disabled users still unable to use diagramming tools efficiently.

\subsection{Diagram Navigation}
There are good diagramming navigation methods already implemented, such as in yEd \cite{yed} though, there are still two main disadvantages about these currently implemented navigation techniques. First, they are not tightly bound to other keyboard based diagram editing, or to other keyboard based navigation techniques. Second, they are available only in commercial, closed source diagramming tools, and thus not available to other developers who want to include such functionality in their tools.

\subsection{Keyboard Editing}
Mostly, the current support of keyboard editing is not mainly intended for the use as accessibility tools. It is mainly intended to automate the diagram creation process, or create a diagram based on a textual description. This is the case in Graphviz \cite{graphviz}. Other support that currently exists for keyboard editing is intended to blind people to create diagrams to be printed on braille printers, such as in BPLOT2. \cite{bplot2}

\section{Project Proposal}
\subsection{Project Idea}
The idea of this project is to get a detailed background about the existing support for keyboard based creation, editing and navigation of diagrams. Use this background to categorize the methods of creation, editing and navigation, and compare them. Then develop new or improve on the current existing methods. Taking into account the integrity of all the developed features and their usability all together.

\subsection{Formal Thesis Proposal - Keyboard Supported Diagram Editing and Navigating}
Most diagramming tools are based on a mouse driven drag and drop editing concept. However, though that these diagramming tools are almost unusable for blind people or people with motoric disabilities. Such users would benefit much from a well designed keyboard support in a diagramming tool. And also for professional users of diagramming tools a good keyboard support would surely increase their productivity.

\paragraph{}
The topic of this Bachelor Thesis is a study on keyboard support in diagramming tools.

\paragraph{}
Therefore, this thesis should be started with a short evaluation and comparison of existing diagramming tools regarding their capabilities in creating, editing and navigating through diagrams by using keyboard only. The evaluation should distinguish between the usage of the keyboard for just navigating through the graphical UI to reach the needed menus and a real interfaces specially designed for keyboard usage e.g. support of textual input for creation of shapes. Announced features of future versions of existing tools should be taken into consideration.

\paragraph{}
The second part of the thesis should be to develop new or improved interfaces and strategies for keyboard support in diagramming tools. Regarding a kind of scripting language for creating diagrams, SVG should be taken into account as a standard for defining graphics textually. The scripting language could e.g. a shortened form of SVG. Special attention should be given to a useful navigation through diagrams. A simple TAB-based navigation through the shapes and connections according to their creation order is hardly useful. The navigation should rather be based on the connections between shapes, their grouping and their local relation to each other.

\paragraph{}
To show the usefulness and practicability of the research done at least some of the developed interfaces and strategies should be implemented e.g. as extension of an existing diagramming tool like DIA.
